package com.scuec.groupfive.mapper;

import com.scuec.groupfive.entity.UserInfo;
import org.apache.ibatis.annotations.*;

@Mapper
public interface UserRegisterMapper {
    /**
     * 插入新用户（使用UserInfo对象）
     * @param user 用户对象
     * @return 插入的行数
     */
    @Insert("INSERT INTO users (username, password, exam_year, role, status, created_at, updated_at, phone) " + // 添加 phone 字段
            "VALUES (#{username}, #{password}, #{examYear}, 'student', 1, NOW(), NOW(), #{phone})") // 添加 #{phone} 参数
    @Options(useGeneratedKeys = true, keyProperty = "userId", keyColumn = "user_id")
    int insertUser(UserInfo user);

    /**
     * 通过用户名查询用户（用于注册时校验用户名重复）
     * @param username 用户名
     * @return 用户信息
     */
    @Select("SELECT * FROM users WHERE username = #{username}")
    UserInfo getUserByUsername(String username);
}